home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 1 / PC Actual CD 01.iso / f1 / func3d.arj / FUENTE / IMPR.H_ / IMPR.H
Encoding:
C/C++ Source or Header  |  1994-05-02  |  2.7 KB  |  121 lines

  1. //
  2. //   Fichero: IMPR.H
  3. //
  4. //   Versi≤n: 1.0
  5. //     Autor: Antonio M. EstΘvez Lorenzo
  6. // Prop≤sito: Declaraci≤n de las clases para IMPR.CPP
  7. //
  8.  
  9. #ifndef __IMPR
  10. #define __IMPR
  11.  
  12. #ifndef __MENSAJES
  13. #include "mensajes.h"
  14. #endif
  15.  
  16. #include "impr.ids"
  17.  
  18. #ifndef __COMBOBOX_H
  19. #include <combobox.h>
  20. #endif
  21.  
  22. extern "C" {
  23. #include <drivinit.h>
  24. }
  25.  
  26. #define IE_OK          0
  27. #define IE_NOVALIDO   -1  
  28. #define IE_NOASOCIADO -2  
  29.  
  30. #define IF_GRAFICOS 0x01     
  31. #define IF_TEXTO    0x02
  32. #define IF_AMBOS    0x03     
  33.  
  34. _CLASSDEF(TImpresora)
  35. class TImpresora
  36. {
  37. protected:
  38.    Pchar Titulo;
  39.    BOOL  Banding;
  40.    BOOL  ForzarTodos;
  41. public:
  42.    TImpresora(Pchar Titulo);
  43.    virtual ~TImpresora();
  44.    virtual int  ImprimePagina(HDC Hdc, WORD Pag, SIZE Dim, LPRECT Rect, WORD Flags)= 0;
  45.    virtual BOOL HayMasPaginas();
  46.    friend class _CLASSTYPE TImpr;
  47. };
  48.  
  49. typedef WORD (FAR PASCAL *PTModoDispos)(HWND, HANDLE, LPSTR, LPSTR);
  50.  
  51. _CLASSDEF(TImpr)
  52. class TImpr
  53. {
  54.    void CalcBandingFlags();
  55.    friend class _CLASSTYPE TDlgConfigImpr;
  56. protected:
  57.    Pchar Dispos, Driver, Puerto;
  58.    int Estado, Error;
  59.    HINSTANCE ModuloDispos;
  60.    LPFNDEVMODE ModoDisposExt;
  61.    PDEVMODE ConfigDispos;
  62.    PTModoDispos ModoDispos;
  63.    int LongConfig;
  64.    void ImprDefecto();
  65. public:
  66.    TImpr();
  67.    virtual ~TImpr();
  68.    virtual void InformaError(PTImpresora);
  69.    virtual HDC GetDC();
  70.    void IniciaDispos();
  71.    void Configurar(PTWindowsObject);
  72.    void SelecDispos(Pchar dispos, Pchar driver, Pchar port);
  73.    BOOL Imprime(PTWindowsObject parent, PTImpresora);
  74.    SIZE DimPaginaMM();
  75.    SIZE DimPaginaPixels();
  76. };
  77.  
  78. _CLASSDEF(TDlgAbortImpr)
  79. class TDlgAbortImpr: public TWindDlg
  80. {
  81. public:
  82.    TDlgAbortImpr(PTWindowsObject parent,
  83.                  Pchar titulo, Pchar Disp, Pchar Port);
  84.    virtual void SetupWindow();
  85.    virtual void WMCommand(RTMessage)= [WM_FIRST + WM_COMMAND];
  86. };
  87.  
  88. _CLASSDEF(TDatosImpr);
  89. class TDatosImpr
  90. {
  91. protected:
  92.    Pchar Dispos;
  93.    Pchar Driver;
  94.    Pchar Puerto;
  95. public:
  96.    TDatosImpr *Siguiente;
  97.    TDatosImpr(Pchar dispos, Pchar driver, Pchar puerto, PTDatosImpr Ultimo= NULL);
  98.   ~TDatosImpr();
  99.    friend class _CLASSTYPE TDlgConfigImpr;
  100. };
  101.  
  102. _CLASSDEF(TDlgConfigImpr)
  103. class TDlgConfigImpr: public TWindDlg
  104. {
  105.    TComboBox  *ListImpr;
  106.    TDatosImpr *DatosImpr, *tmpDatosImpr;
  107.    void Configurar();
  108. protected:
  109.    PTImpr Impr;
  110.    virtual void SetupWindow();
  111.    virtual void Config(RTMessage) = [ID_FIRST + boConfigImpr];
  112.    virtual void Cancel(RTMessage) = [ID_FIRST + IDCANCEL];
  113.    virtual void Ok(RTMessage)     = [ID_FIRST + IDOK];
  114. public:
  115.    TDlgConfigImpr(PTWindowsObject parent, int ResID, PTImpr impr);
  116.    virtual ~TDlgConfigImpr();
  117. //   friend class _CLASSTYPE TDatosImpr;
  118. };
  119.  
  120. #endif
  121.